Currently, in a frame exchange network such as Ethernet (registered trademark), a switch that relays data may employ partitioning, in which the switch may operate as if it were two switches. In the partitioning of a switch, a single switch is logically divided and caused to function as a plurality of switches. Thus, the partitioning of a switch may be referred to as virtualization of a switch.
A switch employing the partitioning may have a problem during a data relay process when the same network is connected to a plurality of partitions of the switch that has been logically divided. FIG. 12 illustrates exemplary partitioning of a switch. As illustrated in FIG. 12, a switch 50 has ports P1 to P6. Here, a “port Pn” (n is a natural number) refers to a port identified by a port identifier (ID) “Pn”. The ports P1, P3, and P4 together form partition PT1. The ports P2, P5, and P6 together form partition PT2. Here, a “partition PTn” (n is a natural number) refers to a partition identified by a partition ID “Pn”.
The switch 50 is connected, via the ports P1 and P2, to a network to which an apparatus A having a media access control (MAC) address “MAC_A” is connected. That is, the switch 50 is connected to the same network via the ports P1 and P2, which belong to different partitions, respectively. In addition, the switch 50 is connected, via the port P4, to a network to which an apparatus B having a MAC address “MAC_B” is connected.
For example, upon receiving data transmitted from the apparatus A via the port P1, the switch 50 illustrated in FIG. 12 learns the address “MAC_A” and the port ID “P1”, that is, the switch 50 stores the address “MAC_A” in association with the port ID “P1” in an address table or the like. In this state, upon receiving data destined for the address “MAC_A” via the port P6 which belongs to the partition PT2, the switch 50 searches the address table and extracts the port ID “P1”, which has been learned in association with the address “MAC_A”. In this case, since the port P6 and the port P1 belong to different partitions, the switch 50 is not allowed to relay the data received via the port P6.
On the other hand, upon receiving data transmitted from the apparatus B via the port P4, the switch 50 illustrated in FIG. 12 stores the address “MAC_B” in association with the port ID “P4” in the address table or the like. In this state, upon receiving data destined for the address “MAC_B” via the port P6 which belongs to the partition PT2, the switch 50 searches the address table and extracts the port ID “P4” which has been learned in association with the address “MAC_B”. In this case, since the port P6 and the port P4 belong to different partitions, the switch 50 is not allowed to relay the data received via the port P6.
As methods for solving such a problem, a method for invalidating the learning, a method for invalidating the search, and a method for learning partition information are known. The method for invalidating the learning is a method in which learning of an address is not executed when data has been received via one of ports that are connected to the same network. For example, in the case of the switch 50 illustrated in FIG. 12, the switch 50 does not learn an address when data has been received via the port P1 or P2. On the other hand, when data has been received via any of the ports P3 to P6, the switch 50 stores a source address of the data in association with a port ID of the reception port in the address table.
The method for invalidating the search is a method in which an address is learned when data has been received but results of the learning are not searched for when data has been received via a port while communication between partitions is supposed to be performed. For example, in the case of the switch 50 illustrated in FIG. 12, upon receiving data transmitted from the apparatus B via the port P4, the switch 50 stores the address “MAC_B” in association with the port ID “P4” in the address table or the like. Thereafter, upon receiving data destined for the address “MAC_B” via the port P3, the switch 50 causes flooding in which the data is transferred to the ports P1 and P4 which belong to the same partition as that the port P3 belongs to, namely partition PT1, without searching the address table. Similarly, upon receiving data destined for the address “MAC_B” via the port P6, the switch 50 causes flooding in which the data is transferred to the ports P2 and P5 which belong to the same partition as that the port P6 belongs to, namely partition PT2, without searching the address table.
The method for learning partition information is a method in which information regarding a partition to which a reception port belongs is also learned when an address and a port ID of the reception port are learned. For example, in the case of the switch 50 illustrated in FIG. 12, upon receiving data transmitted from the apparatus A via the port P1, the switch 50 stores the address “MAC_A”, the port ID “P1”, and partition ID “PT1” in association with one another in the address table or the like. Thereafter, upon receiving data destined for the address “MAC_A” via the port P4 which belongs to partition PT1, the switch 50 searches the address table and identifies the port P1 to which the data is to be output, and then transfers the data via the port P1. Upon receiving data destined for the address “MAC_A” via the port P6 which belongs to partition PT2, the switch 50 searches the address table and determines that a port to which the data is to be output has not been learned. The switch 50 then causes flooding, that is, transfers the data to the ports P2 and P5 which belong to the same partition as that the port P6 belongs to, namely partition PT2.
Japanese Laid-open Patent Publication No. 2010-130605 discloses a related technique.